<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script src="../assets/lib/axios.js"></script>
    <script>
      // 添加请求拦截器
      axios.interceptors.request.use(
        function (config) {
          // 在发送请求之前做些什么
          console.log("请求拦截器触发");
          //必须要有 return config
          return config;
        },
        function (error) {
          //几乎不会用！！！
          // 对请求错误做些什么
          return Promise.reject(error);
        }
      );

      // 添加响应拦截器
      axios.interceptors.response.use(
        function (response) {
          //http 状态码正常的时候触发
          // 2xx 范围内的状态码都会触发该函数。
          // 对响应数据做点什么
          console.log("响应拦截器触发  正常 HTTP 状态码");
          return response; //简化响应结果
        },
        function (error) {
          //http 状态码不对的时候触发
          // 超出 2xx 范围的状态码都会触发该函数。
          // 对响应错误做点什么
          console.log("响应拦截器触发  异常 HTTP 状态码");
          //   console.log(error);//log 显示的信息不全
          console.dir(error); //dir  可以显示完整的信息
          return Promise.reject(error);
        }
      );
      //5 秒之后触发请求
      setInterval(() => {
        //请求数据
        axios({
          url: "http://hmajax.itheima.net/api/province",
        }).then((result) => {
          //result 返回的是 34行 return 的结果
          console.log(result);
        });
      }, 5000);
    </script>
  </body>
</html>
